{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import numpy as np  \n",
    "import pandas as pd \n",
    "\n",
    "from sklearn.metrics import r2_score  \n",
    "\n",
    "import matplotlib.pyplot as plt   \n",
    "import seaborn as sns\n",
    "\n",
    "%matplotlib inline\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instant</th>\n",
       "      <th>dteday</th>\n",
       "      <th>season</th>\n",
       "      <th>yr</th>\n",
       "      <th>mnth</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weekday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>2011-01-01</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.344167</td>\n",
       "      <td>0.363625</td>\n",
       "      <td>0.805833</td>\n",
       "      <td>0.160446</td>\n",
       "      <td>985</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>2011-01-02</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.363478</td>\n",
       "      <td>0.353739</td>\n",
       "      <td>0.696087</td>\n",
       "      <td>0.248539</td>\n",
       "      <td>801</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>2011-01-03</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.196364</td>\n",
       "      <td>0.189405</td>\n",
       "      <td>0.437273</td>\n",
       "      <td>0.248309</td>\n",
       "      <td>1349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>2011-01-04</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.200000</td>\n",
       "      <td>0.212122</td>\n",
       "      <td>0.590435</td>\n",
       "      <td>0.160296</td>\n",
       "      <td>1562</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>2011-01-05</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.226957</td>\n",
       "      <td>0.229270</td>\n",
       "      <td>0.436957</td>\n",
       "      <td>0.186900</td>\n",
       "      <td>1600</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   instant      dteday  season  yr  mnth  holiday  weekday  workingday  \\\n",
       "0        1  2011-01-01       1   0     1        0        6           0   \n",
       "1        2  2011-01-02       1   0     1        0        0           0   \n",
       "2        3  2011-01-03       1   0     1        0        1           1   \n",
       "3        4  2011-01-04       1   0     1        0        2           1   \n",
       "4        5  2011-01-05       1   0     1        0        3           1   \n",
       "\n",
       "   weathersit      temp     atemp       hum  windspeed   cnt  \n",
       "0           2  0.344167  0.363625  0.805833   0.160446   985  \n",
       "1           2  0.363478  0.353739  0.696087   0.248539   801  \n",
       "2           1  0.196364  0.189405  0.437273   0.248309  1349  \n",
       "3           1  0.200000  0.212122  0.590435   0.160296  1562  \n",
       "4           1  0.226957  0.229270  0.436957   0.186900  1600  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dpath = './Bike-Sharing-Dataset/'\n",
    "data0 = pd.read_csv(dpath +\"day.csv\")#data0原始数据，下一步将删除casual，registered\n",
    "data = data0.drop(['casual','registered'],axis=1)\n",
    "data.head()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(731, 14)"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 731 entries, 0 to 730\n",
      "Data columns (total 14 columns):\n",
      "instant       731 non-null int64\n",
      "dteday        731 non-null object\n",
      "season        731 non-null int64\n",
      "yr            731 non-null int64\n",
      "mnth          731 non-null int64\n",
      "holiday       731 non-null int64\n",
      "weekday       731 non-null int64\n",
      "workingday    731 non-null int64\n",
      "weathersit    731 non-null int64\n",
      "temp          731 non-null float64\n",
      "atemp         731 non-null float64\n",
      "hum           731 non-null float64\n",
      "windspeed     731 non-null float64\n",
      "cnt           731 non-null int64\n",
      "dtypes: float64(4), int64(9), object(1)\n",
      "memory usage: 80.0+ KB\n"
     ]
    }
   ],
   "source": [
    "data.info()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#将2011数据和2012数据拆分成 data_train 和 data_test。\n",
    "data['dteday'] = pd.to_datetime(data['dteday'])\n",
    "data_train = data[(data['dteday'] >=pd.to_datetime('20110101')) & (data['dteday'] <= pd.to_datetime('20111231'))]\n",
    "data_test = data[(data['dteday'] >=pd.to_datetime('20120101')) & (data['dteday'] <= pd.to_datetime('20121231'))]\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instant</th>\n",
       "      <th>dteday</th>\n",
       "      <th>season</th>\n",
       "      <th>yr</th>\n",
       "      <th>mnth</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weekday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>2011-01-01</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.344167</td>\n",
       "      <td>0.363625</td>\n",
       "      <td>0.805833</td>\n",
       "      <td>0.160446</td>\n",
       "      <td>985</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>2011-01-02</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.363478</td>\n",
       "      <td>0.353739</td>\n",
       "      <td>0.696087</td>\n",
       "      <td>0.248539</td>\n",
       "      <td>801</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>2011-01-03</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.196364</td>\n",
       "      <td>0.189405</td>\n",
       "      <td>0.437273</td>\n",
       "      <td>0.248309</td>\n",
       "      <td>1349</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>2011-01-04</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.200000</td>\n",
       "      <td>0.212122</td>\n",
       "      <td>0.590435</td>\n",
       "      <td>0.160296</td>\n",
       "      <td>1562</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>2011-01-05</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.226957</td>\n",
       "      <td>0.229270</td>\n",
       "      <td>0.436957</td>\n",
       "      <td>0.186900</td>\n",
       "      <td>1600</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   instant     dteday  season  yr  mnth  holiday  weekday  workingday  \\\n",
       "0        1 2011-01-01       1   0     1        0        6           0   \n",
       "1        2 2011-01-02       1   0     1        0        0           0   \n",
       "2        3 2011-01-03       1   0     1        0        1           1   \n",
       "3        4 2011-01-04       1   0     1        0        2           1   \n",
       "4        5 2011-01-05       1   0     1        0        3           1   \n",
       "\n",
       "   weathersit      temp     atemp       hum  windspeed   cnt  \n",
       "0           2  0.344167  0.363625  0.805833   0.160446   985  \n",
       "1           2  0.363478  0.353739  0.696087   0.248539   801  \n",
       "2           1  0.196364  0.189405  0.437273   0.248309  1349  \n",
       "3           1  0.200000  0.212122  0.590435   0.160296  1562  \n",
       "4           1  0.226957  0.229270  0.436957   0.186900  1600  "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_train.head()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instant</th>\n",
       "      <th>dteday</th>\n",
       "      <th>season</th>\n",
       "      <th>yr</th>\n",
       "      <th>mnth</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weekday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>360</th>\n",
       "      <td>361</td>\n",
       "      <td>2011-12-27</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0.325000</td>\n",
       "      <td>0.327633</td>\n",
       "      <td>0.762500</td>\n",
       "      <td>0.188450</td>\n",
       "      <td>1162</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>361</th>\n",
       "      <td>362</td>\n",
       "      <td>2011-12-28</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.299130</td>\n",
       "      <td>0.279974</td>\n",
       "      <td>0.503913</td>\n",
       "      <td>0.293961</td>\n",
       "      <td>2302</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>362</th>\n",
       "      <td>363</td>\n",
       "      <td>2011-12-29</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.248333</td>\n",
       "      <td>0.263892</td>\n",
       "      <td>0.574167</td>\n",
       "      <td>0.119412</td>\n",
       "      <td>2423</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>363</th>\n",
       "      <td>364</td>\n",
       "      <td>2011-12-30</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.311667</td>\n",
       "      <td>0.318812</td>\n",
       "      <td>0.636667</td>\n",
       "      <td>0.134337</td>\n",
       "      <td>2999</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>364</th>\n",
       "      <td>365</td>\n",
       "      <td>2011-12-31</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.410000</td>\n",
       "      <td>0.414121</td>\n",
       "      <td>0.615833</td>\n",
       "      <td>0.220154</td>\n",
       "      <td>2485</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     instant     dteday  season  yr  mnth  holiday  weekday  workingday  \\\n",
       "360      361 2011-12-27       1   0    12        0        2           1   \n",
       "361      362 2011-12-28       1   0    12        0        3           1   \n",
       "362      363 2011-12-29       1   0    12        0        4           1   \n",
       "363      364 2011-12-30       1   0    12        0        5           1   \n",
       "364      365 2011-12-31       1   0    12        0        6           0   \n",
       "\n",
       "     weathersit      temp     atemp       hum  windspeed   cnt  \n",
       "360           2  0.325000  0.327633  0.762500   0.188450  1162  \n",
       "361           1  0.299130  0.279974  0.503913   0.293961  2302  \n",
       "362           1  0.248333  0.263892  0.574167   0.119412  2423  \n",
       "363           1  0.311667  0.318812  0.636667   0.134337  2999  \n",
       "364           1  0.410000  0.414121  0.615833   0.220154  2485  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_train.tail()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(365, 14)"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instant</th>\n",
       "      <th>dteday</th>\n",
       "      <th>season</th>\n",
       "      <th>yr</th>\n",
       "      <th>mnth</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weekday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>365</th>\n",
       "      <td>366</td>\n",
       "      <td>2012-01-01</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.370000</td>\n",
       "      <td>0.375621</td>\n",
       "      <td>0.692500</td>\n",
       "      <td>0.192167</td>\n",
       "      <td>2294</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>366</th>\n",
       "      <td>367</td>\n",
       "      <td>2012-01-02</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.273043</td>\n",
       "      <td>0.252304</td>\n",
       "      <td>0.381304</td>\n",
       "      <td>0.329665</td>\n",
       "      <td>1951</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>367</th>\n",
       "      <td>368</td>\n",
       "      <td>2012-01-03</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.150000</td>\n",
       "      <td>0.126275</td>\n",
       "      <td>0.441250</td>\n",
       "      <td>0.365671</td>\n",
       "      <td>2236</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>368</th>\n",
       "      <td>369</td>\n",
       "      <td>2012-01-04</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0.107500</td>\n",
       "      <td>0.119337</td>\n",
       "      <td>0.414583</td>\n",
       "      <td>0.184700</td>\n",
       "      <td>2368</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>369</th>\n",
       "      <td>370</td>\n",
       "      <td>2012-01-05</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.265833</td>\n",
       "      <td>0.278412</td>\n",
       "      <td>0.524167</td>\n",
       "      <td>0.129987</td>\n",
       "      <td>3272</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     instant     dteday  season  yr  mnth  holiday  weekday  workingday  \\\n",
       "365      366 2012-01-01       1   1     1        0        0           0   \n",
       "366      367 2012-01-02       1   1     1        1        1           0   \n",
       "367      368 2012-01-03       1   1     1        0        2           1   \n",
       "368      369 2012-01-04       1   1     1        0        3           1   \n",
       "369      370 2012-01-05       1   1     1        0        4           1   \n",
       "\n",
       "     weathersit      temp     atemp       hum  windspeed   cnt  \n",
       "365           1  0.370000  0.375621  0.692500   0.192167  2294  \n",
       "366           1  0.273043  0.252304  0.381304   0.329665  1951  \n",
       "367           1  0.150000  0.126275  0.441250   0.365671  2236  \n",
       "368           2  0.107500  0.119337  0.414583   0.184700  2368  \n",
       "369           1  0.265833  0.278412  0.524167   0.129987  3272  "
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_test.head()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instant</th>\n",
       "      <th>dteday</th>\n",
       "      <th>season</th>\n",
       "      <th>yr</th>\n",
       "      <th>mnth</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weekday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>726</th>\n",
       "      <td>727</td>\n",
       "      <td>2012-12-27</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0.254167</td>\n",
       "      <td>0.226642</td>\n",
       "      <td>0.652917</td>\n",
       "      <td>0.350133</td>\n",
       "      <td>2114</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>727</th>\n",
       "      <td>728</td>\n",
       "      <td>2012-12-28</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0.253333</td>\n",
       "      <td>0.255046</td>\n",
       "      <td>0.590000</td>\n",
       "      <td>0.155471</td>\n",
       "      <td>3095</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>728</th>\n",
       "      <td>729</td>\n",
       "      <td>2012-12-29</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.253333</td>\n",
       "      <td>0.242400</td>\n",
       "      <td>0.752917</td>\n",
       "      <td>0.124383</td>\n",
       "      <td>1341</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>729</th>\n",
       "      <td>730</td>\n",
       "      <td>2012-12-30</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.255833</td>\n",
       "      <td>0.231700</td>\n",
       "      <td>0.483333</td>\n",
       "      <td>0.350754</td>\n",
       "      <td>1796</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>730</th>\n",
       "      <td>731</td>\n",
       "      <td>2012-12-31</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0.215833</td>\n",
       "      <td>0.223487</td>\n",
       "      <td>0.577500</td>\n",
       "      <td>0.154846</td>\n",
       "      <td>2729</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     instant     dteday  season  yr  mnth  holiday  weekday  workingday  \\\n",
       "726      727 2012-12-27       1   1    12        0        4           1   \n",
       "727      728 2012-12-28       1   1    12        0        5           1   \n",
       "728      729 2012-12-29       1   1    12        0        6           0   \n",
       "729      730 2012-12-30       1   1    12        0        0           0   \n",
       "730      731 2012-12-31       1   1    12        0        1           1   \n",
       "\n",
       "     weathersit      temp     atemp       hum  windspeed   cnt  \n",
       "726           2  0.254167  0.226642  0.652917   0.350133  2114  \n",
       "727           2  0.253333  0.255046  0.590000   0.155471  3095  \n",
       "728           2  0.253333  0.242400  0.752917   0.124383  1341  \n",
       "729           1  0.255833  0.231700  0.483333   0.350754  1796  \n",
       "730           2  0.215833  0.223487  0.577500   0.154846  2729  "
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_test.tail()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(366, 14)"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_test.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>instant</th>\n",
       "      <th>season</th>\n",
       "      <th>yr</th>\n",
       "      <th>mnth</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weekday</th>\n",
       "      <th>workingday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>temp</th>\n",
       "      <th>atemp</th>\n",
       "      <th>hum</th>\n",
       "      <th>windspeed</th>\n",
       "      <th>cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>365.000000</td>\n",
       "      <td>365.000000</td>\n",
       "      <td>365.0</td>\n",
       "      <td>365.000000</td>\n",
       "      <td>365.000000</td>\n",
       "      <td>365.000000</td>\n",
       "      <td>365.000000</td>\n",
       "      <td>365.000000</td>\n",
       "      <td>365.000000</td>\n",
       "      <td>365.000000</td>\n",
       "      <td>365.000000</td>\n",
       "      <td>365.000000</td>\n",
       "      <td>365.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>183.000000</td>\n",
       "      <td>2.498630</td>\n",
       "      <td>0.0</td>\n",
       "      <td>6.526027</td>\n",
       "      <td>0.027397</td>\n",
       "      <td>3.008219</td>\n",
       "      <td>0.684932</td>\n",
       "      <td>1.421918</td>\n",
       "      <td>0.486665</td>\n",
       "      <td>0.466835</td>\n",
       "      <td>0.643665</td>\n",
       "      <td>0.191403</td>\n",
       "      <td>3405.761644</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>105.510663</td>\n",
       "      <td>1.110946</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.452584</td>\n",
       "      <td>0.163462</td>\n",
       "      <td>2.006155</td>\n",
       "      <td>0.465181</td>\n",
       "      <td>0.571831</td>\n",
       "      <td>0.189596</td>\n",
       "      <td>0.168836</td>\n",
       "      <td>0.148744</td>\n",
       "      <td>0.076890</td>\n",
       "      <td>1378.753666</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.059130</td>\n",
       "      <td>0.079070</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.022392</td>\n",
       "      <td>431.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>92.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.325000</td>\n",
       "      <td>0.321954</td>\n",
       "      <td>0.538333</td>\n",
       "      <td>0.135583</td>\n",
       "      <td>2132.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>183.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.479167</td>\n",
       "      <td>0.472846</td>\n",
       "      <td>0.647500</td>\n",
       "      <td>0.186900</td>\n",
       "      <td>3740.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>274.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>10.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>5.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>0.656667</td>\n",
       "      <td>0.612379</td>\n",
       "      <td>0.742083</td>\n",
       "      <td>0.235075</td>\n",
       "      <td>4586.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>365.000000</td>\n",
       "      <td>4.000000</td>\n",
       "      <td>0.0</td>\n",
       "      <td>12.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>0.849167</td>\n",
       "      <td>0.840896</td>\n",
       "      <td>0.972500</td>\n",
       "      <td>0.507463</td>\n",
       "      <td>6043.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          instant      season     yr        mnth     holiday     weekday  \\\n",
       "count  365.000000  365.000000  365.0  365.000000  365.000000  365.000000   \n",
       "mean   183.000000    2.498630    0.0    6.526027    0.027397    3.008219   \n",
       "std    105.510663    1.110946    0.0    3.452584    0.163462    2.006155   \n",
       "min      1.000000    1.000000    0.0    1.000000    0.000000    0.000000   \n",
       "25%     92.000000    2.000000    0.0    4.000000    0.000000    1.000000   \n",
       "50%    183.000000    3.000000    0.0    7.000000    0.000000    3.000000   \n",
       "75%    274.000000    3.000000    0.0   10.000000    0.000000    5.000000   \n",
       "max    365.000000    4.000000    0.0   12.000000    1.000000    6.000000   \n",
       "\n",
       "       workingday  weathersit        temp       atemp         hum   windspeed  \\\n",
       "count  365.000000  365.000000  365.000000  365.000000  365.000000  365.000000   \n",
       "mean     0.684932    1.421918    0.486665    0.466835    0.643665    0.191403   \n",
       "std      0.465181    0.571831    0.189596    0.168836    0.148744    0.076890   \n",
       "min      0.000000    1.000000    0.059130    0.079070    0.000000    0.022392   \n",
       "25%      0.000000    1.000000    0.325000    0.321954    0.538333    0.135583   \n",
       "50%      1.000000    1.000000    0.479167    0.472846    0.647500    0.186900   \n",
       "75%      1.000000    2.000000    0.656667    0.612379    0.742083    0.235075   \n",
       "max      1.000000    3.000000    0.849167    0.840896    0.972500    0.507463   \n",
       "\n",
       "               cnt  \n",
       "count   365.000000  \n",
       "mean   3405.761644  \n",
       "std    1378.753666  \n",
       "min     431.000000  \n",
       "25%    2132.000000  \n",
       "50%    3740.000000  \n",
       "75%    4586.000000  \n",
       "max    6043.000000  "
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_train.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "\n",
    "cols = data_train.columns\n",
    "data_train_corr = data_train.corr().abs()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x9383a90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.subplots(figsize=(14,9))\n",
    "sns.heatmap(data_train_corr,annot=True)\n",
    "sns.heatmap(data_train_corr,mask=data_train_corr<1,cbar=False)\n",
    "plt.show()\n",
    "#通过热图，减少不相关，或者类似数据。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "#更具上图进行相应的数据调整\n",
    "y_train = data_train['cnt'].values\n",
    "x_train = data_train.drop(['instant','dteday','mnth','weekday','workingday','temp','yr','hum','cnt'],axis=1)\n",
    "y_test = data_test['cnt'].values\n",
    "x_test = data_test.drop(['instant','dteday','mnth','weekday','workingday','temp','yr','hum','cnt'],axis=1)\n",
    "full_x_data = data.drop(['instant','dteday','mnth','weekday','workingday','temp','yr','hum','cnt'],axis=1)\n",
    "columns = full_x_data.columns\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>season</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>atemp</th>\n",
       "      <th>windspeed</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.363625</td>\n",
       "      <td>0.160446</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.353739</td>\n",
       "      <td>0.248539</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.189405</td>\n",
       "      <td>0.248309</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.212122</td>\n",
       "      <td>0.160296</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.229270</td>\n",
       "      <td>0.186900</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   season  holiday  weathersit     atemp  windspeed\n",
       "0       1        0           2  0.363625   0.160446\n",
       "1       1        0           2  0.353739   0.248539\n",
       "2       1        0           1  0.189405   0.248309\n",
       "3       1        0           1  0.212122   0.160296\n",
       "4       1        0           1  0.229270   0.186900"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x_train.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>season</th>\n",
       "      <th>holiday</th>\n",
       "      <th>weathersit</th>\n",
       "      <th>atemp</th>\n",
       "      <th>windspeed</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>365</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.375621</td>\n",
       "      <td>0.192167</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>366</th>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0.252304</td>\n",
       "      <td>0.329665</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>367</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.126275</td>\n",
       "      <td>0.365671</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>368</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.119337</td>\n",
       "      <td>0.184700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>369</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.278412</td>\n",
       "      <td>0.129987</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     season  holiday  weathersit     atemp  windspeed\n",
       "365       1        0           1  0.375621   0.192167\n",
       "366       1        1           1  0.252304   0.329665\n",
       "367       1        0           1  0.126275   0.365671\n",
       "368       1        0           2  0.119337   0.184700\n",
       "369       1        0           1  0.278412   0.129987"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x_test.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Anaconda\\lib\\site-packages\\sklearn\\utils\\validation.py:475: DataConversionWarning: Data with input dtype int64 was converted to float64 by StandardScaler.\n",
      "  warnings.warn(msg, DataConversionWarning)\n"
     ]
    }
   ],
   "source": [
    "\n",
    "from sklearn.preprocessing import MinMaxScaler\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "\n",
    "ss_x = MinMaxScaler()\n",
    "\n",
    "ss_x = StandardScaler()\n",
    "ss_y = StandardScaler()\n",
    "\n",
    "x_train = ss_x.fit_transform(x_train)\n",
    "x_test = ss_x.transform(x_test)\n",
    "y_train = ss_y.fit_transform(y_train.reshape(-1, 1))\n",
    "y_test = ss_y.fit_transform(y_test.reshape(-1, 1))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>coef</th>\n",
       "      <th>columns</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>[0.626123146326]</td>\n",
       "      <td>atemp</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>[0.288272855857]</td>\n",
       "      <td>season</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>[-0.0342841427147]</td>\n",
       "      <td>holiday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>[-0.0943972214865]</td>\n",
       "      <td>windspeed</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>[-0.257745392615]</td>\n",
       "      <td>weathersit</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 coef     columns\n",
       "3    [0.626123146326]       atemp\n",
       "0    [0.288272855857]      season\n",
       "1  [-0.0342841427147]     holiday\n",
       "4  [-0.0943972214865]   windspeed\n",
       "2   [-0.257745392615]  weathersit"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.linear_model import LinearRegression\n",
    "\n",
    "lr = LinearRegression()\n",
    "\n",
    "lr.fit(x_train,y_train)\n",
    "\n",
    "y_test_pred_lr = lr.predict(x_test)\n",
    "y_train_pred_lr = lr.predict(x_train)\n",
    "\n",
    "fs = pd.DataFrame({\"columns\":list(columns), \"coef\":list((lr.coef_.T))})\n",
    "fs.sort_values(by=['coef'],ascending=False)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The r2 score of LinearRegression on test is 0.65840853161\n",
      "The r2 score of LinearRegression on train is 0.751576609501\n"
     ]
    }
   ],
   "source": [
    "print 'The r2 score of LinearRegression on test is', r2_score(y_test, y_test_pred_lr)\n",
    "print 'The r2 score of LinearRegression on train is', r2_score(y_train, y_train_pred_lr)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nl5lcfPHFzJ8/n/nz57N48WKmT5/OgQceyLx58zj00EO5+OKLueyyy7baZmdfITJkyBA2bty4efuv\nvvoqADfeeCOrVq1i3rx5zJ8/nz333HOr75k79thjmTNnDvvssw9nnnkm119/fa8+79ChQzc/33HH\nHVm/fj2Zydlnn735s/72t79l5syZLFmyhCuuuILZs2fz6KOPMnXq1NfUtdNOO/Wqhu44kidJ6rV6\n7+Ks5+5MlWHEiBFcddVVTJs2jQsvvJATTjiBL3zhC5x++ukMHz6c5cuX09LSwvr16xk5ciRnnHEG\nw4cP59prr33Ndt7+9rfz8Y9/nNWrV7PLLrtw6623cvjhhwO169jmzZvHhz70Ie644w7WrVsH1E75\njh49mpaWFu69916WLl26VX1Lly5ln3324fzzz+fFF1/kkUce4ayzzmrKZ58yZQrTpk3jk5/8JKNH\nj+bZZ5/lhRdeYM2aNey0006MGDGClStXctdddzF58uSm7LMrhjxJkgoz0KF6woQJHH744dx0002c\neeaZLFy4kEmTJgG1myRuuOEGFi9ezGc+8xl22GEHWlpauOaaa16zjTFjxjBz5kwmTZrEmDFjOOKI\nIzbfxHD++eczbdo0Jk6cyJQpUzaPhJ1++um8733vo62tjfHjx/OWt7xlq9ruu+8+Lr/8clpaWhg+\nfHinI3lTp07dPGfspEmT+NjHPtbt5z7ooIP40pe+xPHHH8/GjRtpaWnh6quv5qijjmLChAkcfPDB\n7Lfffhx99NH1d2YDIjP7ZUcAbW1tuemOGUnSts+RvMFh4cKFvPWtbx3oMtQHOvrdRsS8zGzr5C2b\neU2eJElSgQx5kiRJBTLkSZJUgP68/Er9o9HfqSFPkqRt3LBhw1i9erVBryCZyerVqxk2bFivt+Hd\ntZIkbeP23Xdfli1bxqpVqwa6FDXRsGHD2HfffXv9/m5DXkS8Abge2AvYCMzKzG9GxEzgfGDTEXVJ\nZv6815VIkqReaWlpobW1daDL0CBTz0jeeuDvMvORiNgZmBcR91TrvpGZV/RdeZIkSeqNbkNeZq4A\nVlTPX4iIhcA+fV2YJEmSeq9H1+RFxDhgAvAQcDRwUUScBcylNtr35w7eMwOYATB27NgGy5WkwWOg\nvwi43v33ZQ2SBq+6766NiOHAPwOfyMw1wDXA/sB4aiN9X+/ofZk5KzPbMrNt1KhRTShZkiRJ3akr\n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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xf7eb4a8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "f, ax = plt.subplots(figsize=(9, 5)) \n",
    "f.tight_layout() \n",
    "ax.hist(y_train - y_train_pred_lr,bins=50, label='Residuals Linear', color='y', alpha=.5); \n",
    "ax.set_title(\"Histogram of Residuals\") \n",
    "ax.legend(loc='best');"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nPS0ibpV0q1QqUdUcMAAASEbTEpyIuGC0121fJul9ks6PyhOBdkk6bdjzUyUNNi5CAACQqqJWUS2Q\ndK2kRRHxcpVmD0k6y/YZtqdIWiJpTatiBAAAnauoOThfk3S8pPttb7b9dUmyPcP2WknKJiF/UtI6\nSdsl3RkR2wqKFwAAdJBCNtuMiLdUOT4oaeGw52slrW1VXAAAIA3tsIoKAACgoUhwAABAckhwAABA\nckhwAABAckhwAABAckhwAABAckhwAABAckhwAABAckhwAABAckhwAABAckhwAABAckhwAABAcgrZ\nbDMlqzcNaMW6HRrcM6QZPd1aOn+mLprVW3RYAABMaCQ4dVi9aUCfvnurhg4ckiQN7BnSp+/eKkkk\nOQAAFIgSVR1WrNvxanJTNnTgkFas21FQRAAAQCLBqcvgnqGajgMAgNYgwanDjJ7umo4DAIDWIMGp\nw9L5M9XdNemIY91dk7R0/syCIgIAABKTjOtSnkjMKioAANoLCU6dLprVS0IDAECboUQFAACSQ4ID\nAACSQ4IDAACSQ4IDAACSQ4IDAACSQ4IDAACSQ4IDAACSQ4IDAACSQ4IDAACSQ4IDAACSQ4IDAACS\nQ4IDAACSQ4IDAACSQ4IDAACSQ4IDAACSQ4IDAACS44goOoaGs71b0lNFxzGGEyU9W3QQTZZ6H+lf\nZ6N/nS31/knp93G8/XtzRLxxrEZJJjidwHZ/RPQVHUczpd5H+tfZ6F9nS71/Uvp9bHb/KFEBAIDk\nkOAAAIDkkOAU59aiA2iB1PtI/zob/etsqfdPSr+PTe0fc3AAAEByGMEBAADJIcEBAADJIcFpEdsr\nbD9m+2Hbq2z3VGm3wPYO2zttX9fqOMfL9odsb7N92HbVZX+2n7S91fZm2/2tjLFeNfSxU6/hCbbv\nt/2b7PP0Ku0OZddvs+01rY6zVmNdD9tTbd+Rvf4L23/c+ijHL0f/Lre9e9g1+1gRcY6X7X+3/Yzt\nR6q8btsrs/4/bPu8VsdYjxz9e4/tvcOu3z+2OsZ62D7N9k9tb8/+//yHCm2acw0jgo8WfEi6UNLk\n7PGXJH2pQptJkh6XdKakKZK2SHpb0bHn7N9bJc2U9DNJfaO0e1LSiUXH26w+dvg1/LKk67LH11X6\nHs1ee7HoWGvo05jXQ9LfS/p69niJpDuKjrvB/btc0teKjrWOPv65pPMkPVLl9YWS7pVkSe+S9Iui\nY25w/94j6Z6i46yjf6dIOi97fLykX1f4Hm3KNWQEp0Ui4r6IOJg93SDp1ArNZkvaGRFPRMR+Sd+T\ntLhVMdYjIrZHxI6i42imnH3s2GuoUpy3Z49vl3RRgbE0Sp7rMbzfd0k637ZbGGM9Ovn7LZeIWC/p\nuVGaLJb0H1GyS11bcgAABRtJREFUQVKP7VNaE139cvSvo0XE0xHxq+zxC5K2S+od0awp15AEpxhX\nqJStjtQr6bfDnu/S0d8InS4k3Wd7o+0riw6mCTr5Gr4pIp6WSv8pSTqpSrtjbffb3mC73ZOgPNfj\n1TbZHyF7Jb2hJdHVL+/32wezof+7bJ/WmtBappN/5vL6M9tbbN9r++yigxmvrPw7S9IvRrzUlGs4\nud4T4DW2H5B0coWXro+IH2Rtrpd0UNK3K52iwrG2Wcefp385zI2IQdsnSbrf9mPZXzBtoQF97Nhr\nWMNpTs+u4ZmSHrS9NSIeb0yEDZfnerT1NRtDnth/KOm7EbHP9lUqjVbNa3pkrdPJ1y+PX6m099KL\nthdKWi3prIJjqpnt4yT9l6RPRcT/jXy5wj+p+xqS4DRQRFww2uu2L5P0PknnR1Z4HGGXpOF/XZ0q\nabBxEdZnrP7lPMdg9vkZ26tUGmJvmwSnAX3s2Gto+/e2T4mIp7Ph4WeqnKN8DZ+w/TOV/iJr1wQn\nz/Uot9lle7Kk16tzSgZj9i8i/jDs6TdVmgOYkrb+mavX8GQgItba/lfbJ0ZEx2zCabtLpeTm2xFx\nd4UmTbmGlKhaxPYCSddKWhQRL1dp9pCks2yfYXuKShMe236VSl62X2f7+PJjlSZeV1w50ME6+Rqu\nkXRZ9vgySUeNWNmebntq9vhESXMlPdqyCGuX53oM7/clkh6s8gdIOxqzfyPmMixSaQ5EStZI+tts\nJc67JO0tl1pTYPvk8pww27NV+r39h9H/VfvIYv83Sdsj4sYqzZpzDYueYT1RPiTtVKnGuDn7KK/a\nmCFp7bB2C1WaZf64SmWRwmPP2b8PqJSF75P0e0nrRvZPpZUeW7KPbZ3Uv7x97PBr+AZJP5H0m+zz\nCdnxPknfyh7PkbQ1u4ZbJX206Lhz9Ouo6yHp8yr9sSFJx0r6fvYz+ktJZxYdc4P7tzz7edsi6aeS\n/qTomGvs33clPS3pQPbz91FJV0m6Knvdkv4l6/9WjbKKsx0/cvTvk8Ou3wZJc4qOucb+vVulctPD\nw37/LWzFNWSrBgAAkBxKVAAAIDkkOAAAIDkkOAAAIDkkOAAAIDkkOAAAIDnc6A9A09guLz2XSndQ\nPiRpd/Z8dpT2T2p1TOskXRKlfXEAJIpl4gBawvYylXYiv2HEcav0f9HhJr9/S94HQHugRAWg5Wy/\nxfYjtr+u0l47p9neM+z1Jba/lT1+k+27sw0+f5nd6XTk+T5me5XtdbZ32P5Mlfc5xfYu2z3Z6x/J\nNqHcYvu2vO8HoP1RogJQlLdJ+khEXJXtAVXNSklfjogN2W7E90h6e4V2s7Pj+yU9ZPseSS8Ofx9J\nyu56L9vvUGn7lDkR8ZztE2p8PwBtjAQHQFEej4iHcrS7QNLMcmIiabrt7ogYGtFuXUQ8L0m2V6t0\ni/gfj/I+8yTdERHPSVL5cw3vB6CNkeAAKMpLwx4fVmk/mrJjhz228k1IHjmhsPz8pZENh5230iTE\nvO8HoI0xBwdA4bKJv8/bPsv2MSptbFr2gKRPlJ/YPrfKaS603WN7mqTFkn4+xts+IGlJuTQ1rESV\n9/0AtDESHADt4lqVSko/UWlX5bJPSJqbTQZ+VNLHq/z7/5b0HUmbJH03IjaP9mYR8bCkL0tab3uz\npBU1vh+ANsYycQAdz/bHJL09Ij5VdCwA2gMjOAAAIDmM4AAAgOQwggMAAJJDggMAAJJDggMAAJJD\nggMAAJJDggMAAJLz//O9VmBoXyqEAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xf6ae080>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(8, 7))\n",
    "plt.scatter(y_train, y_train_pred_lr)\n",
    "plt.plot([-1.5, 1.5], [-1.5, 1.5], '--k')   \n",
    "plt.axis('tight')\n",
    "plt.xlabel('True price')\n",
    "plt.ylabel('Predicted price')\n",
    "plt.tight_layout()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Anaconda\\lib\\site-packages\\sklearn\\utils\\validation.py:578: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([ 0.28806787, -0.0348901 , -0.25771508,  0.62580568, -0.094404  ])"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\n",
    "from sklearn.linear_model import SGDRegressor\n",
    "\n",
    "\n",
    "sgdr = SGDRegressor(max_iter=1000)\n",
    "\n",
    "\n",
    "sgdr.fit(x_train, y_train)\n",
    "\n",
    "sgdr.coef_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The value of default measurement of SGDRegressor on test is 0.658461865961\n",
      "The value of default measurement of SGDRegressor on train is 0.751575972381\n"
     ]
    }
   ],
   "source": [
    "print 'The value of default measurement of SGDRegressor on test is', sgdr.score(x_test, y_test)\n",
    "print 'The value of default measurement of SGDRegressor on train is', sgdr.score(x_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The r2 score of RidgeCV on test is 0.658418518762\n",
      "The r2 score of RidgeCV on train is 0.75157334519\n"
     ]
    }
   ],
   "source": [
    "\n",
    "from sklearn.linear_model import  RidgeCV\n",
    "\n",
    "alphas = [ 0.001,0.01, 0.1, 1, 10,100,1000]\n",
    "\n",
    "ridge = RidgeCV(alphas=alphas, store_cv_values=True)  \n",
    "\n",
    "ridge.fit(x_train, y_train)    \n",
    "\n",
    "y_test_pred_ridge = ridge.predict(x_test)\n",
    "y_train_pred_ridge = ridge.predict(x_train)\n",
    "\n",
    "print 'The r2 score of RidgeCV on test is', r2_score(y_test, y_test_pred_ridge)\n",
    "print 'The r2 score of RidgeCV on train is', r2_score(y_train, y_train_pred_ridge)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10449278>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "('alpha is:', 1.0)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>coef_lr</th>\n",
       "      <th>coef_ridge</th>\n",
       "      <th>columns</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>[0.626123146326]</td>\n",
       "      <td>[0.624543677654]</td>\n",
       "      <td>atemp</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>[0.288272855857]</td>\n",
       "      <td>[0.288050738151]</td>\n",
       "      <td>season</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>[-0.0342841427147]</td>\n",
       "      <td>[-0.0342283833868]</td>\n",
       "      <td>holiday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>[-0.0943972214865]</td>\n",
       "      <td>[-0.0944700356175]</td>\n",
       "      <td>windspeed</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>[-0.257745392615]</td>\n",
       "      <td>[-0.257177631635]</td>\n",
       "      <td>weathersit</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              coef_lr          coef_ridge     columns\n",
       "3    [0.626123146326]    [0.624543677654]       atemp\n",
       "0    [0.288272855857]    [0.288050738151]      season\n",
       "1  [-0.0342841427147]  [-0.0342283833868]     holiday\n",
       "4  [-0.0943972214865]  [-0.0944700356175]   windspeed\n",
       "2   [-0.257745392615]   [-0.257177631635]  weathersit"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mse_mean = np.mean(ridge.cv_values_, axis = 0)\n",
    "plt.plot(np.log10(alphas), mse_mean.reshape(len(alphas),1)) \n",
    "\n",
    "#这是为了标出最佳参数的位置，不是必须\n",
    "#plt.plot(np.log10(ridge.alpha_)*np.ones(3), [0.28, 0.29, 0.30])\n",
    "\n",
    "plt.xlabel('log(alpha)')\n",
    "plt.ylabel('mse')\n",
    "plt.show()\n",
    "\n",
    "print ('alpha is:', ridge.alpha_)\n",
    "\n",
    "# 看看各特征的权重系数，系数的绝对值大小可视为该特征的重要性\n",
    "fs = pd.DataFrame({\"columns\":list(columns), \"coef_lr\":list((lr.coef_.T)), \"coef_ridge\":list((ridge.coef_.T))})\n",
    "fs.sort_values(by=['coef_lr'],ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The r2 score of LassoCV on test is 0.658303745291\n",
      "The r2 score of LassoCV on train is 0.751574352536\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Anaconda\\lib\\site-packages\\sklearn\\linear_model\\coordinate_descent.py:1094: DataConversionWarning: A column-vector y was passed when a 1d array was expected. Please change the shape of y to (n_samples, ), for example using ravel().\n",
      "  y = column_or_1d(y, warn=True)\n"
     ]
    }
   ],
   "source": [
    "#### Lasso／L1正则\n",
    "# class sklearn.linear_model.LassoCV(eps=0.001, n_alphas=100, alphas=None, fit_intercept=True, \n",
    "#                                    normalize=False, precompute=’auto’, max_iter=1000, \n",
    "#                                    tol=0.0001, copy_X=True, cv=None, verbose=False, n_jobs=1,\n",
    "#                                    positive=False, random_state=None, selection=’cyclic’)\n",
    "from sklearn.linear_model import LassoCV\n",
    "\n",
    "#设置超参数搜索范围\n",
    "#alphas = [ 0.01, 0.1, 1, 10,100]\n",
    "\n",
    "#生成一个LassoCV实例\n",
    "#lasso = LassoCV(alphas=alphas)  \n",
    "lasso = LassoCV()  \n",
    "\n",
    "#训练（内含CV）\n",
    "lasso.fit(x_train, y_train)  \n",
    "\n",
    "#测试\n",
    "y_test_pred_lasso = lasso.predict(x_test)\n",
    "y_train_pred_lasso = lasso.predict(x_train)\n",
    "\n",
    "\n",
    "# 评估，使用r2_score评价模型在测试集和训练集上的性能\n",
    "print 'The r2 score of LassoCV on test is', r2_score(y_test, y_test_pred_lasso)\n",
    "print 'The r2 score of LassoCV on train is', r2_score(y_train, y_train_pred_lasso)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nRV4oAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xf6ae978>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "('alpha is:', 0.00077529371004971405)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>coef_lasso</th>\n",
       "      <th>coef_lr</th>\n",
       "      <th>coef_ridge</th>\n",
       "      <th>columns</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.625703</td>\n",
       "      <td>[0.626123146326]</td>\n",
       "      <td>[0.624543677654]</td>\n",
       "      <td>atemp</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.287763</td>\n",
       "      <td>[0.288272855857]</td>\n",
       "      <td>[0.288050738151]</td>\n",
       "      <td>season</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>-0.033516</td>\n",
       "      <td>[-0.0342841427147]</td>\n",
       "      <td>[-0.0342283833868]</td>\n",
       "      <td>holiday</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>-0.093880</td>\n",
       "      <td>[-0.0943972214865]</td>\n",
       "      <td>[-0.0944700356175]</td>\n",
       "      <td>windspeed</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>-0.257046</td>\n",
       "      <td>[-0.257745392615]</td>\n",
       "      <td>[-0.257177631635]</td>\n",
       "      <td>weathersit</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   coef_lasso             coef_lr          coef_ridge     columns\n",
       "3    0.625703    [0.626123146326]    [0.624543677654]       atemp\n",
       "0    0.287763    [0.288272855857]    [0.288050738151]      season\n",
       "1   -0.033516  [-0.0342841427147]  [-0.0342283833868]     holiday\n",
       "4   -0.093880  [-0.0943972214865]  [-0.0944700356175]   windspeed\n",
       "2   -0.257046   [-0.257745392615]   [-0.257177631635]  weathersit"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mses = np.mean(lasso.mse_path_, axis = 1)\n",
    "plt.plot(np.log10(lasso.alphas_), mses) \n",
    "#plt.plot(np.log10(lasso.alphas_)*np.ones(3), [0.3, 0.4, 1.0])\n",
    "plt.xlabel('log(alpha)')\n",
    "plt.ylabel('mse')\n",
    "plt.show()    \n",
    "            \n",
    "print ('alpha is:', lasso.alpha_)\n",
    "\n",
    "# 看看各特征的权重系数，系数的绝对值大小可视为该特征的重要性\n",
    "fs = pd.DataFrame({\"columns\":list(columns), \"coef_lr\":list((lr.coef_.T)), \"coef_ridge\":list((ridge.coef_.T)), \"coef_lasso\":list((lasso.coef_.T))})\n",
    "fs.sort_values(by=['coef_lr'],ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nRV4oAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1046bfd0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "('alpha is:', 0.00077529371004971405)\n"
     ]
    }
   ],
   "source": [
    "mses = np.mean(lasso.mse_path_, axis = 1)\n",
    "plt.plot(np.log10(lasso.alphas_), mses) \n",
    "#plt.plot(np.log10(lasso.alphas_)*np.ones(3), [0.3, 0.4, 1.0])\n",
    "plt.xlabel('log(alpha)')\n",
    "plt.ylabel('mse')\n",
    "plt.show()    \n",
    "            \n",
    "print ('alpha is:', lasso.alpha_)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.14"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
